#ifndef FITKFLUIDVTKVIEWADAPTORBOUNDMESHFASTSIM_H
#define FITKFLUIDVTKVIEWADAPTORBOUNDMESHFASTSIM_H

#include "FITKFluidVTKViewAdaptorBase.h"

#include "FITKFluidVTKGraphAdaptorAPI.h"

namespace Exchange
{
    /**
     * @brief   Graph object data adaptor for 'boundrary mesh FASTSIM' data.
     * @author  YinYanjun
     * @date    2024-12-23
     */
    class FITKFLUIDGRAPHADAPTORAPI FITKFluidVTKViewAdaptorBoundMeshFASTSIM : public FITKFluidVTKViewAdaptorBase
    {
        // Regist
        FITKCLASS(Exchange, FITKFluidVTKViewAdaptorBoundMeshFASTSIM);

    public:
        /**
         * @brief   Constructor.
         * @author  YinYanjun
         * @date    2024-12-23
         */
        explicit FITKFluidVTKViewAdaptorBoundMeshFASTSIM() = default;

        /**
         * @brief   Destructor.
         * @author  YinYanjun
         * @date    2024-12-23
         */
        ~FITKFluidVTKViewAdaptorBoundMeshFASTSIM() = default;

        /**
         * @brief   Execute the data exchange.[override]
         * @return  Is OK
         * @author  YinYanjun
         * @date    2024-12-23
         */
        bool update() override;

    };

    // Regist boundary mesh adaptor
    Register2FITKViewAdaptorFactory(MeshFASTSIM, Interface::FITKUnstructuredMeshVTK, FITKFluidVTKViewAdaptorBoundMeshFASTSIM);
}   // namespace Exchange

#endif // FITKFLUIDVTKVIEWADAPTORBOUNDMESHFASTSIM_H
